1. Field of the Invention
The present invention relates to the field of data storage on electronic storage devices and more particularly to storing check information for stored data on an electronic storage medium using standard sector data field sizes.
2. Description of Related Art
As the storage capacity of electronic storage media continues to increase and the data processing techniques and speeds continue to develop, the potential for data errors subsequently increases. The increased potential for data errors due to the significant increase in the amount of data processed and the complexity of the processing software and hardware may potentially lead to more severe problems when a data error does occur. For this reason, many high-end data storage systems incorporate a variety of error checking procedures and safeguards to detect and even correct data errors that may occur.
One way in which data storage systems have been designed to minimize the potential for data errors is through the use of data structures that are binary multiples, such 21, 22, 23, 24, etc., in data processing and hardware design. In particular, it is common for hard disk drive manufacturers to format magnetic disk surfaces into sectors including data fields of 512 bytes (29 bytes) each. By using a storage size that is a binary multiple, the computation and processing required is minimized, thereby minimizing the potential for data errors in the processing stages and data storage operations.
Another approach to minimizing the potential for data errors in data storage systems is through the employment of data detection and data correction schemes. Each time data is transferred among the various electronic components of the system, an error detection scheme may be employed to detect a potential error in the transferred data. If an error is detected, the system may try to transfer the correct data again, or may possibly try to correct the transferred data using one or more error correction techniques. These error detection and error correction schemes typically involve the calculation and processing of one or more identifiers determined by the particular scheme employed.
These identifiers and general check information typically must be stored near and transferred with the requested data so that it is available at the time of error checking. When data and an associated identifier are transferred, the system may use error checking to verify that the data has not been corrupted and that the data was stored in and accessed from the correct storage location.
One manner in which this check information, including one or more error detection and correction identifiers, has been stored near the requested data is by appending the check information to the data field of the storage sector in which the data is stored. When a system requests a particular set of data and accesses the appropriate data sectors on a magnetic disk, for example, to read the requested data, the system may also access the check information that is appended to the data field of each sector. The check information typically requires between 4 and 16 bytes and may be appended to a 512 byte data sector, thereby effectively requiring up to 528 bytes of storage capacity to store 512 bytes of data.
This approach of appending the check information to a standard size data field requires that a client user or manufacturer's representative custom format the electronic storage devices used in the modified storage system. Unfortunately, such a custom format has major potential disadvantages to the end user. For example, the storage devices are typically designed around a standard size data field, such as 512 bytes, and are typically factory tested in this standard configuration. Factory testing using a nonstandard data field size, such as using a modified 516 or 528 byte sector, is typically very limited if performed at all.
A second major disadvantage to this configuration is the requirement for additional and more complex calculations during the data storage and retrieval processes. Using a modified sector size, such as 516 or 528 bytes, a storage system controller is effectively required to process and store a data structure of unique size and configuration. This may have the effect of forcing the storage system controller to administer operations using both standard and nonstandard data structure sizes, which may result in over-consumption of random access memory (RAM) by allocating memory for larger, uniquely sized data structures when processing only standard size data structures. For example, the storage system controller may be configured to allocate 528 bytes of memory for nonstandard data structure sizes even when only 512 bytes are required to process a standard size data structure. The additional 4 or 16 bytes of allocated memory may be unnecessarily allocated and become unavailable for other operations.
What is needed is a process, apparatus, and system for storing check information in a data storage system that uses standard sector data field sizes. Beneficially, the proposed process, apparatus, and system would allow the data storage system to store and process the check information used in error detection and error correction schemes without requiring nonstandard data field sizes. The proposed process, apparatus, and system would also cause little, if any, degradation of system performance with regard to processing bandwidth and rotational latency of the data storage system.